#ifndef		__ENGINE_TICKABLE_H_INCLUDED__
#define		__ENGINE_TICKABLE_H_INCLUDED__

/**
 * Tickable object base class.
 */
class ITickable {
public:
	ITickable();
	ITickable(int weight);
	virtual ~ITickable();

	/**
	 * Breath all tickable objects.
	 */
	static void BreathAll();

	/**
	 * Interface for detail implementation.
	 */
	virtual void OnBreath() = 0;

private:
	int _breath_weight;
};

#endif//!	__ENGINE_TICKABLE_H_INCLUDED__
